package com.xiaotu.storage.model;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject;

/**
 * @类名 CacheDataModel
 * @日期 2017年2月21日
 * @作者 高海军
 * @功能 处理过程中的缓存数据
 */
public class CacheDataModel
{
	private List<JSONObject> dataList;// redis中的需要处理的分批次数据
	
	private long startIdx = 0L;// 缓存数据的起始索引
	
	private Map<String, Object> cacheData = new HashMap<String, Object>();// 处理过程中需要临时缓存的数据
	
	private String fileName;// 转储文件名
	
	public List<JSONObject> getDataList()
	{
		return dataList;
	}
	
	public void setDataList(List<JSONObject> dataList)
	{
		this.dataList = dataList;
	}
	
	public long getStartIdx()
	{
		return startIdx;
	}
	
	public void setStartIdx(long startIdx)
	{
		this.startIdx = startIdx;
	}
	
	public <T> void putCacheData(String key, T data)
	{
		this.cacheData.put(key, data);
	}
	
	@SuppressWarnings("unchecked")
	public <T> T getCacheData(String key)
	{
		return (T) this.cacheData.get(key);
	}

	public String getFileName()
	{
		return fileName;
	}

	public void setFileName(String fileName)
	{
		this.fileName = fileName;
	}
}
